#ifndef FIELDBOARDMANAGER_H
#define FIELDBOARDMANAGER_H

#include "Arduino.h"
#include "Command.h"
#include "SwitchRailDriver.h"
#include "Configuration.h"
#include <Communication.h>
#include <CommunicationListener.h>

class FieldBoardManager : public CommunicationListener {  
  public:
    FieldBoardManager(FieldBoardManagerData fieldBoardManagerData);  /* Constructor */
    /* Methodes */
    virtual void commandReceived(Command* command);

  private:
    /* Methodes */
    int getSwitchRailDriverIndexFromId(byte id);  
    /* Attributs */
    SwitchRailDriver* m_switchRailDrivers[NB_OF_SWITCH_RAIL_DRIVERS];
    Communication* m_communication;
};

#endif /* FIELDBOARDMANAGER_H */
